
#pragma once

#include "RayLine.h"
#include "libmesh/elem.h"
#include <map>
using std::map;

class ENSideElement
{
public:
	ENSideElement(const Elem *elem, const Point normal, int devide = 1, Real transmissivity = 0.0, Real absorptivity = 0.5);
	~ENSideElement(){};
public:
	void Disintegrate();
	Point getSideElementNormal() {return _normal;};

	Real _transmissivity;
	Real _absorptivity;
	int _devide;

	const Elem * _elem;

	vector<Point> _Disintegrate_centre;
	vector<Real> _Disintegrate_aera;
	vector<Real> _local_RD;

protected:
	Point _normal;
};
